查看原文
其他

WAX技术指南第六期:如何在WAX负载平衡器上缓解API攻击

NFT Gamer NFT Gamer 2023-02-23
点击蓝字关注我们

原文:EOSphere (Ross Dold) 
翻译:WAX Eastern (NFT Gamer)

上一期的WAX技术指南介绍了安装和配置 HAProxy 的步骤,目的是为 WAX 协议网络 API 请求提供可靠的负载均衡器。即使您现在提供了 WAX 公会级别的服务,该服务仍然可以被贪婪或恶意的用户利用。

第6期 WAX 技术指南将介绍如何配置 HAProxy 响应策略以减少这些类型的威胁。


01


如何缓解 WAX 负载均衡器上的 API 攻击


上一篇文章示例中,您会注意到全局部分和后端部分都配置了一个maxconn 变量。


maxconn 是一个硬性限制,当达到此阈值时,它将阻止超过指定的连接设置到 API 服务,然而它是敌友不分的,会同时阻止好的行为者和 API 滥用者。


HAProxy 有一种更优雅的方式来识别和限制滥用,本文将讨论其中两种机制。


02


滑动窗口速率限制


也称为实施拒绝列表,这是一种限制特定源 IP 地址的用户在一段时间内可以对您的 API 发出的请求数量的方法。


在配置示例中,每个源 IP 地址在 5 秒内允许的 API 请求限制为 200 个。这段时间是一个滑动窗口。如果达到阈值,则用户将被拒绝并收到 429 错误。


HTTP 错误 429 是一个 HTTP 响应状态代码,表示客户端应用程序已超过其速率限制,或它们可以在给定时间段内发送的请求数。

(图)用户收到的消息高于阈值


按照以下步骤配置haproxy.cfg 中的每个部分

> sudo nano /etc/haproxy/haproxy.cfg


03


前端


frontend http-in http-request track-sc0 src table wax_api_servers

此配置在 HAProxy 中创建一个特定的表格。


04


后端


backend wax_api_servers stick-table type ip size 50k expire 30s store http_req_rate(5s) http-request deny deny_status 429 if { sc_http_req_rate(0) gt 200 }

此配置将策略应用于特定后端。


保存并退出haproxy.cfg ,检查您的配置并重新启动服务。

> haproxy -c -V -f /etc/haproxy/haproxy.cfgConfiguration file is valid> sudo service haproxy restart> sudo service haproxy statusActive: active (running)

如果您将 Statistics 仪表板与 Prometheus 一起使用,您可以看到达到此阈值并被 429 拒绝的 API 用户数。-HTTP 4xx 响应:


05


蜜罐(Tarpit)


拒绝列表示例立即通知潜在的滥用者他们已被拒绝,通常会在几毫秒内提示重试。HAProxy Tarpit 的响应策略会接受客户端的连接,但会等待预定义的时间后返回拒绝响应(本例中为 10 秒)。这会占用恶意用户的资源,限制他们继续攻击您的 API 的能力。


基本上 tarpit 是通过用 tarpit 替换 deny 在 stick-list 策略中配置的。


按照以下配置haproxy.cfg 中的每个部分来修改以前的策略。

> sudo nano /etc/haproxy/haproxy.cfg


06


后端

backend wax_api_servers stick-table type ip size 50k expire 30s store http_req_rate(5s) http-request tarpit deny_status 429 if { sc_http_req_rate(0) gt 200 } timeout tarpit 10s

此配置将策略应用于特定后端并将延迟设置为 10 秒。


保存并退出haproxy.cfg ,检查您的配置并重新启动服务。

> haproxy -c -V -f /etc/haproxy/haproxy.cfgConfiguration file is valid> sudo service haproxy restart> sudo service haproxy statusActive: active (running)


END


往期回顾BREAK AWAY


真金不怕火炼——FTX黑天鹅下链游依然坚挺


Alien Worlds挖矿创收新渠道


WAX 2022年回顾及2023路线图更新



防失联,加入橘猫玩家公会:


Telegram:https://t.me/NFTGamerChina

Discord:https://discord.gg/NU82sXeTNs









抢抓机遇,增创优势,创新辉煌。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存